N.B.
The easiest way to read or write relay settings is to use the
MultiView program
Send relay channels parameters (function 103)
For M550/M560 transducers, the write functions require the
General
Pass Code to be valid.
Send 8,
16 byte structures.
Format-
[node number][67h][register start(2 bytes)][number of registers(2
bytes)][number of bytes]
[<-8, 16 byte structures + 1 relay actions + 1 padding byte (130
(82h) bytes of data)->][crc(2 bytes)]
One of the
8, 16 byte structures to send to the M553 is defined below.
Byte
#
|
Name
|
Usage
Type |
|
0
|
SetPoint
Percentage of range value |
unsigned
char |
? |
1
|
Differential
Percentage of range value |
unsigned
char |
? |
2
|
Energy
Relay (send 254 to set relay to Energy) |
unsigned char |
|
3
|
Under/Over
0 = Over 1 = Under 2 = window |
unsigned
char |
? |
4
|
Channel
Control N/A (send NULL) |
unsigned
char |
|
5
|
Number
In Group N/A (send NULL) |
unsigned
char |
|
6
|
Timer
N/A (send NULL) |
unsigned
int |
|
8
|
Delay
Time 1 = 40ms, 2 = 80ms etc. |
unsigned
int |
? |
10
|
Logic
Of Group Any 1, 2, or 3, Sum or Average |
unsigned
char |
? |
11
|
ID
V/I/Hz value etc |
unsigned
char |
? |
12
|
Channel Status
send
0=not enabled, 254=enabled |
unsigned
char |
? |
13
|
Physical
Relay Number of attached relay |
unsigned
char |
? |
14
|
Energy Relay
Divisor (0 = /1, 1 = /10, 2 = /100, 3 = /1000) |
unsigned
char |
|
15
|
Energy Relay
Pulse Width (0 = OFF, 2 to 10 = 20ms to 200ms) |
unsigned
char |
|
In
addition to sending the 8 structures, two bytes must be appended
to the packet.
1st byte:
A
one-byte bit pattern, where each bit is mapped to one physical relay,
(bit 0 = Relay 1, bit 1 = Relay 2 etc.)
If a bit is reset (0), the corresponding relays function is
to operate at pulse time.
If set (1) it will release.
2nd Byte:
This is a NULL byte for padding and is ignored.
Function
103 Sample Coding
Retrieve relay channels parameters (code 104)
Requests 8, 16 byte structures representing the parameters for the relay
channels.
Format-
[node address][68h][register start(2 bytes)][number of registers(2
bytes)][crc(2 bytes)]
One of the 8, 16 byte structures read from the M880 is defined below.
Byte
#
|
Name
|
Usage
Type |
|
0
|
SetPoint
Percentage of range value |
unsigned
char |
|
1
|
Differential
Percentage of range value |
unsigned
char |
|
2
|
Energy
Relay (reads 254 if relay is Energy) |
unsigned
char |
|
3
|
Under/Over
0 = Over 1 = Under 2 = window |
unsigned
char |
|
4
|
Channel
Control 0 = no exception, 1 = exception |
unsigned
char |
|
5
|
Number
In Group 1, 2 or 3 |
unsigned
char |
|
6
|
Timer
N/A |
unsigned
int |
|
8
|
Delay
Time 1 = 40ms, 2 = 80ms etc. |
unsigned
int |
|
10
|
Logic
Of Group 1, 2, 3, 128(Sum) or 129(Avg) |
unsigned
char |
|
11
|
ID
V/I/Hz value etc |
unsigned
char |
|
12
|
Channel Status
0=not enabled, 254=enabled |
unsigned
char |
|
13
|
Physical
Relay Number of attached relay |
unsigned
char |
|
14
|
Energy Relay
Divisor (0 = /1, 1 = /10, 2 = /100, 3 = /1000) |
unsigned
char |
|
15
|
Energy Relay
Pulse Width (0 = OFF, 2 to 10 = 20ms to 200ms) |
unsigned
char |
|
In addition
to receiving the 8 structures, two bytes will be appended to the
packet.
1st Byte:
A
one-byte bit pattern, where each bit is mapped to one physical relay.
If a bit is reset (0), the corresponding relays function is
to operate on exceptions. If set (1) it will release.
2nd Byte:
A NULL byte for padding.
Function
104 Sample Coding
|